#include "punto.h"
#include "cuadrado.h"
#include "circulo.h"

using namespace std;

int main()
{
    int a=1, x=1;
    Operacion op;
    Circulo figo;
    Cuadrado fig;
    cout<<"¡Bienvenido!\n\n\n\n";
    while(x!=0)
    {
        cout<<"Seleccione figura geometrica:\n\n\n\n   (1) Circulo.\n   (2) Cuadrado.\n\n   (0) Salir.\n\n\n\nSeleccion: ";
        cin>>x;
        if(x==1)
        {
            a=1;
            while(a!=0)
            {

                cout<<"Seleccione operacion:\n\n\n\n    (1) Mover figura.\n    (2) Redimensionar area.\n    (3) Cambiar color figura.\n    (4) Ver posición figura.";
                cout<<"\n    (5) Ver área figura.\n    (6) Ver perímetro figura.\n\n    (0) Salir.\n\n\n\nSeleccion: ";
                cin>>a;
                    if(a==1)
                    {
                        double  a, b, c, d;
                        c=figo.getCentro().getX();
                        d=figo.getCentro().getY();
                        cout<<"Cuanto desea mover la figura en el eje X"<<endl;
                        cin>>a;
                        cout<<"Cuanto desea mover la figura en el eje Y"<<endl;
                        cin>>b;
                        c=op.suma(c,a);
                        d=op.suma(d,b);
                        figo.setCentro(c,d);
                    }
                    if (a==2)
                    {
                        double factor;
                        cout<<"El area actual es: "<<figo.getArea()<<". Introduzca el factor por el que desea multiplicar el area de la figura"<<endl;
                        cin>>factor;
                        factor=op.raiz(factor,2);
                        figo.setRadio(figo.getRadio()*factor);
                    }
                    if (a==3)
                    {
                        figo.setColor();
                    }
                    if (a==4)
                    {
                        double c, d;
                        c=figo.getCentro().getX();
                        d=figo.getCentro().getY();
                        cout<<"Las coordenadas de la figura son:"<<endl;
                        cout<<"("<<c<<","<<d<<")"<<endl;
                    }
                    if (a==5)
                    {
                        double are;
                        are=figo.getArea();
                        cout<<"El área de la figura es: "<<are<<endl;
                    }
                    if (a==6)
                    {
                        double pmt;
                        pmt=figo.getPerimetro();
                        cout<<"El perímetro de la figura es: "<<pmt<<endl;
                    }


            }
        }
        else if(x==2)
        {
            a=1;
            while(a!=0)
            {

                cout<<"Seleccione operacion:\n\n\n\n    (1) Mover figura.\n    (2) Redimensionar area.\n    (3) Cambiar color figura.\n    (4) Ver posición figura.";
                cout<<"\n    (5) Ver área figura.\n    (6) Ver perímetro figura.\n\n    (0) Salir.\n\n\n\nSeleccion: ";
                cin>>a;
                    if(a==1)
                    {
                        double  a, b, c, d;
                        c=fig.getCentro().getX();
                        d=fig.getCentro().getY();
                        cout<<"Cuanto desea mover la figura en el eje X"<<endl;
                        cin>>a;
                        cout<<"Cuanto desea mover la figura en el eje Y"<<endl;
                        cin>>b;
                        c=op.suma(c,a);
                        d=op.suma(d,b);
                        fig.setCentro(c,d);
                    }
                    if (a==2)
                    {
                        double factor;
                        cout<<"El area actual es: "<<fig.getArea()<<".\n Introduzca el factor por el que desea multiplicar el area la figura"<<endl;
                        cin>>factor;
                        factor=op.raiz(factor,2);
                        fig.setLado(fig.getLado()*factor);
                    }
                    if (a==3)
                    {
                        fig.setColor();
                    }
                    if (a==4)
                    {
                        double c, d;
                        c=fig.getCentro().getX();
                        d=fig.getCentro().getY();
                        cout<<"Las coordenadas de la figura son:"<<endl;
                        cout<<"("<<c<<","<<d<<")"<<endl;
                    }
                    if (a==5)
                    {
                        double are;
                        are=fig.getArea();
                        cout<<"El área de la figura es: "<<are<<endl;
                    }
                    if (a==6)
                    {
                        double pmt;
                        pmt=fig.getPerimetro();
                        cout<<"El perímetro de la figura es: "<<pmt<<endl;
                    }


            }

        }
        if(x==0)
        {
            cout<<"¡Hasta pronto!"<<endl;
        }

        else
        {
            cout<<"Introduzca un valor válido."<<endl;
        }

    }


}
